﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ExpressionEvaluator
{
	/// <summary>
	/// Represents current syntax parser state.
	/// </summary>
	public enum ParserState
	{
		/// <summary>
		/// Nothing yet processed.
		/// </summary>
		None,
		/// <summary>
		/// Text element process state.
		/// </summary>
		Text,
		/// <summary>
		/// Executable element process state.
		/// </summary>
		Executable,
		/// <summary>
		/// Operator element process state.
		/// </summary>
		Operator,
		/// <summary>
		/// Function element process state.
		/// </summary>
		Function,
		/// <summary>
		/// Excutable delimiter element process state.
		/// </summary>
		Delimiter,
		/// <summary>
		/// New instance element process state.
		/// </summary>
		NewInstance,
		/// <summary>
		/// Negator element process state.
		/// </summary>
		Negator,
		/// <summary>
		/// Minus sign process state.
		/// </summary>
		MinusSign,
		/// <summary>
		/// Function delimiter element process state.
		/// </summary>
		FunctionDelimiter,
		/// <summary>
		/// Bracket start element process state.
		/// </summary>
		BracketStart,
		/// <summary>
		/// Bracket end element process state.
		/// </summary>
		BracketEnd,
		/// <summary>
		/// Indexer start element process state.
		/// </summary>
		IndexerStart,
		/// <summary>
		/// Indexer end element process state.
		/// </summary>
		IndexerEnd
	}
}
